package com.business.service.interfaced.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.business.service.interfaced.ProductInManager;
import com.system.dao.DaoSupport;
import com.system.util.PageData;

/**
 * 商品接口
 * @Function 
 * @Author zhaozhenhua
 * @Date 2018年1月29日
 */
@Service("productInService")
public class ProductInService implements ProductInManager{
	
	@Resource(name = "daoSupport")
	private DaoSupport dao;

	/**
	 * 根据商家id获取商品列表
	 */
	@SuppressWarnings("unchecked")
	@Override
	public List<PageData> getProductListById(PageData pd) throws Exception {
		return (List<PageData>)dao.findForList("ProductInMapper.getProductListById", pd);
	}

	/**
	 * 根据商家id获取商品列表
	 */
	@Override
	public PageData getBusinessByProId(PageData pd) throws Exception {
		return (PageData)dao.findForObject("BusinessInMapper.getBusinessByProId", pd);
	}

	/**
	 * 添加商品
	 */
	@Override
	public void addProduct(PageData pd) throws Exception {
		dao.save("ProductInMapper.addProduct", pd);
	}

	/**
	 * 删除商品
	 */
	@Override
	public void deleteProduct(PageData pd) throws Exception {
		dao.delete("ProductInMapper.deleteProduct", pd);
	}

	/**
	 * 修改商品
	 */
	@Override
	public void updProduct(PageData pd) throws Exception {
		dao.update("ProductInMapper.updProduct", pd);
	}
	
	/**
	 * 根据id获取商品
	 */
	@Override
	public PageData findById(PageData pd) throws Exception {
		return (PageData)dao.findForObject("ProductInMapper.findById", pd);
	}

	/**
	 * 根据商家id获取后台商品销售排名
	 */
	@SuppressWarnings("unchecked")
	@Override
	public List<PageData> getProductSales(PageData pd) throws Exception {
		return (List<PageData>)dao.findForList("ProductInMapper.getProductSales", pd);
	}

	/**
	 * 后台修改和添加店铺分类
	 */
	@Override
	public void updShopCategory(PageData pd) throws Exception {
		dao.update("BusinessInMapper.updShopCategory", pd);
	}

	/**
	 * 后台根据商家ID获取所有的商品名和商品ID
	 */
	@SuppressWarnings("unchecked")
	@Override
	public List<PageData> getProdListById(PageData pd) throws Exception {
		return (List<PageData>)dao.findForList("ProductInMapper.getProdListById", pd);
	}
	
	/**
	 * 获取推荐列表
	 * @author zhanglingbing
	 * @date 2018年3月12日
	 * @param pd BRAND_ID:商品品类id
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	@Override
	public List<PageData> getRecommendList(PageData pd) throws Exception {
		return (List<PageData>) dao.findForList("ProductInMapper.getRecommendList", pd);
	}
	
	

}
